package Offer.q45_minNumber;

import java.util.Arrays;

public class Solution_1 {
    /*
    排序规则的经典题：如何排序使得一个字符串数组最后拼起来数字最小
    这里直接给出规则：
    若拼接字符串 x + y > y + x ，则 x “大于” y ；
    反之，若 x + y < y + x ，则 x “小于” y ；
    这里直接用内置排序
    solution2则重写快排
     */
    public String minNumber(int[] nums) {
        String[] strs = new String[nums.length];
        for(int i = 0; i < nums.length; i++)
            strs[i] = String.valueOf(nums[i]);
        Arrays.sort(strs, (x, y) -> (x + y).compareTo(y + x));
        StringBuilder res = new StringBuilder();
        for(String s : strs)
            res.append(s);
        return res.toString();
    }
}
